//package vcc.com.footnet.wservice;
//
//import java.io.BufferedReader;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.lang.reflect.Field;
//import java.util.ArrayList;
//import java.util.List;
//
//import org.apache.http.HttpEntity;
//import org.apache.http.HttpResponse;
//import org.apache.http.NameValuePair;
//import org.apache.http.client.HttpClient;
//import org.apache.http.client.entity.UrlEncodedFormEntity;
//import org.apache.http.client.methods.HttpGet;
//import org.apache.http.client.methods.HttpPost;
//import org.apache.http.impl.client.DefaultHttpClient;
//import org.apache.http.message.BasicNameValuePair;
//import org.apache.http.params.BasicHttpParams;
//import org.apache.http.params.HttpConnectionParams;
//import org.apache.http.params.HttpParams;
//import org.apache.http.protocol.BasicHttpContext;
//import org.apache.http.protocol.HTTP;
//import org.apache.http.protocol.HttpContext;
//import org.json.JSONArray;
//import org.json.JSONException;
//import org.json.JSONObject;
//
//import vcc.com.footnet.dto.BaseData;
//import vcc.com.footnet.dto.ServiceInputProperty;
//import android.net.Uri;
//import android.net.Uri.Builder;
//import android.util.Log;
//
//public class ServiceConn {
//	public final static String	SERVER_URL		= "http://apifoodnet.todo.vn/1.0/";
//	private final static String	SERVER_SOAP_URL	= SERVER_URL;
//
//	/**
//	 * Connects and retrieves data from DroidFun web service
//	 * 
//	 * @param value
//	 *            Input parameters
//	 * @return
//	 */
//
//	@SuppressWarnings("unchecked")
//	public static <T extends List<? extends BaseData>> T getServerData(ServiceInputProperty params,
//			Class<? extends BaseData> dtoClass) {
//
//		String result = "";
//		InputStream is = null;
//
//		try {
//			Uri.Builder builder = new Builder();
//			builder.encodedPath(SERVER_SOAP_URL);
//			builder.appendQueryParameter("client_id", params.getClient_id());
//			builder.appendQueryParameter("cmd", params.getFood_type());
//			if (params.getRes_id() != null) {
//				builder.appendQueryParameter("res_id", params.getRes_id() + "");
//			}
//			if (params.getParent_id() != null) {
//				builder.appendQueryParameter("parent_id", params.getParent_id());
//			}
//			if (params.getFood_id() != null) {
//				builder.appendQueryParameter("food_id", params.getFood_id());
//			}
//			if (params.getLat() != null) {
//				builder.appendQueryParameter("lat", params.getLat());
//				builder.appendQueryParameter("lng", params.getLng());
//			}
//			if (params.getDistric() != null) {
//				builder.appendQueryParameter("district", params.getDistric());
//			}
//			if (params.getSaleoff() != null) {
//				builder.appendQueryParameter("saleoff", params.getSaleoff());
//			}
//			if (params.getFtype() != null) {
//				builder.appendQueryParameter("ftype", params.getFtype());
//			}
//			if (params.getUsername() != null) {
//				builder.appendQueryParameter("username", params.getUsername());
//			}
//			if (params.getPassword() != null) {
//				builder.appendQueryParameter("password", params.getPassword());
//			}
//			if (params.getKeyword() != null) {
//				builder.appendQueryParameter("keyword", params.getKeyword());
//			}
//			if (params.getCheck() != null) {
//				builder.appendQueryParameter("check", params.getCheck());
//			}
//			if (params.getSessionId() != null) {
//				builder.appendQueryParameter("sessionId", params.getSessionId());
//			}
//			if (params.getFood_type().equals("get_options")) {
//				builder.appendQueryParameter("type", "1");
//			}
//			
//			if (params.getProvince_id() != null) {
//				builder.appendQueryParameter("province_id", params.getProvince_id());
//			}
//			Log.i("builder", builder + "   abc");
//			HttpClient httpclient = new DefaultHttpClient();
//			HttpGet httpGet = new HttpGet(builder.toString());
//			HttpResponse response = httpclient.execute(httpGet);
//
//			HttpEntity entity = response.getEntity();
//			is = entity.getContent();
//
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//
//		// convert response to string
//		try {
//			BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));
//			StringBuilder sb = new StringBuilder();
//			String line = null;
//			while ((line = reader.readLine()) != null) {
//				sb.append(line + "\n");
//			}
//			is.close();
//			result = sb.toString();
//			result.trim();
//
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//
//		// parse json data
//		ArrayList<BaseData> lst = new ArrayList<BaseData>();
//		// if (params.getFood_type().equals("get_provinces")) {
//		// lst.add(new ProvinceItem("Tỉnh/TPhố", "-1"));
//		// }
//		// if (params.getFood_type().equals("get_districts")) {
//		// lst.add(new ProvinceItem("Quận/Huyện", "-1"));
//		// }
//		try {
//
//			JSONObject jsonObject = new JSONObject(result);
//			JSONArray jsonArray = jsonObject.getJSONArray("results");
//			Log.i("results", jsonArray + "   abc");
//			for (int i = 0; i < jsonArray.length(); i++) {
//				JSONObject json_data = jsonArray.getJSONObject(i);
//
//				Object instance = dtoClass.newInstance();
//				Field[] fis = dtoClass.getFields();
//				if (fis != null && fis.length > 0) {
//					for (Field fi : fis) {
//						try {
//							// Log.i("OPtiondialog", fi.getName()+ "   abc");
//							Class<?> fType = fi.getType();
//							if (fType == String.class) {
//								fi.set(instance, json_data.getString(fi.getName()));
//							} else if (fType == JSONArray.class) {
//								fi.set(instance, json_data.getJSONArray(fi.getName()));
//							} else if (fType == Integer.class) {
//								fi.set(instance, json_data.getInt(fi.getName()));
//							} else if (fType == Long.class) {
//								fi.set(instance, json_data.getLong(fi.getName()));
//							} else if (fType == Double.class) {
//								fi.set(instance, json_data.getDouble(fi.getName()));
//							} else if (fType == Boolean.class) {
//								fi.set(instance, json_data.getBoolean(fi.getName()));
//							}
//						} catch (JSONException jex) {
//							jex.printStackTrace();
//						}
//					}
//				}
//				lst.add((BaseData) instance);
//			}
//
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		return (T) lst;
//	}
//
//
//	public static String senData(JSONObject jsonData, String res_id, String sessionId) {
//
//		String result = "";
//		InputStream is = null;
//		ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//		nameValuePairs.add(new BasicNameValuePair("order", jsonData.toString()));
//		try {
//			int timeoutConnection = 20000;
//			HttpParams httpParam = new BasicHttpParams();
//			HttpConnectionParams.setConnectionTimeout(httpParam, timeoutConnection);
//			HttpClient httpclient = new DefaultHttpClient(httpParam);
//			HttpContext localContext = new BasicHttpContext();
//			// HttpPost httppost = new HttpPost(
//			// "http://apifoodnet.todo.vn/1.0/?client_id=23ef26d45e7dbd1d07fad6d2a8afc050&cmd=buy_foods&res_id=1579&sessionId=v6io3lkt3ugggc9muigp79dt12");
//
//			HttpPost httppost = new HttpPost(
//					"http://apifoodnet.todo.vn/1.0/?client_id=23ef26d45e7dbd1d07fad6d2a8afc050&cmd=buy_foods&res_id="
//							+ res_id + "&sessionId=" + sessionId);
//			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
//			HttpResponse response = httpclient.execute(httppost, localContext);
//			HttpEntity entity = response.getEntity();
//			is = entity.getContent();
//
//		} catch (Exception e) {
//			Log.e("log_tag", "Error in http connection " + e.toString());
//		}
//
//		// convert response to string
//		try {
//			BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));
//			StringBuilder sb = new StringBuilder();
//			String line = null;
//			while ((line = reader.readLine()) != null) {
//				sb.append(line + "\n");
//			}
//			is.close();
//			result = sb.toString();
//			result.trim();
//			Log.e("log_tag", result + "    jksdfhsjkadfh");
//		} catch (Exception e) {
//			Log.e("log_tag", "Error converting result " + e.toString());
//		}
//		return result;
//	}
//}
